Mobile application for controlling outdoor grill

ABSTRACT

Embodiments are directed to controlling an electronically-controlled appliance using a software application and providing a user interface for controlling an electronically-controlled appliance. In one scenario, a computer system receives an indication from a remote computing system indicating that an electronically-controlled appliance is communicably connected to the remote computing system. The computer system provides a notification in the software application indicating that the electronically-controlled appliance is available to receive instructions, and receives a user input at the software application indicating that certain functions are to be performed by the electronically-controlled appliance. The computer system further generates instructions configured to control the electronically-controlled appliance based on the functions specified in the received user input, and sends the generated instructions to the electronically-controlled appliance to perform the specified functions. These functions are then interpreted and carried out on the electronically-controlled appliance via the hardware controller.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/947,366, filed Jul. 29, 2020, which is a continuation of U.S. patentapplication Ser. No. 16/432,798, filed Jun. 5, 2019, now U.S. Pat. No.10,791,208, issued Sep. 29, 2020, which is a continuation-in-part ofU.S. patent application Ser. No. 16/193,235, filed Nov. 16, 2018, nowU.S. Pat. No. 10,951,751, issued Mar. 16, 2021, which is a continuationof U.S. patent application Ser. No. 15/510,996 entitled “MOBILEAPPLICATION FOR CONTROLLING OUTDOOR GRILL,” filed Mar. 13, 2017, whichapplication is a 35 U.S.C. § 371 U.S. National Stage of PCT ApplicationNo. PCT/US16/24737, filed on Mar. 29, 2016, which claims the benefit ofpriority to U.S. Provisional Application No. 62/245,535, filed Oct. 23,2015, the disclosure of each of which is hereby incorporated herein inits entirety by this reference. U.S. Pat. No. 10,951,751 is also acontinuation-in-part of U.S. patent application Ser. No. 15/114,744,filed Jul. 27, 2016, which is a U.S. National Stage of PCT ApplicationNo. PCT/US16/39271, filed on Jun. 24, 2016, which claims the benefit ofpriority to U.S. Provisional Application No. 62/245,530, filed on Oct.23, 2015. U.S. Pat. No. 10,951,751 is also a continuation-in-part ofU.S. patent application Ser. No. 15/511,319, filed Mar. 15, 2017, whichis a U.S. National Stage of PCT Application No. PCT/US2016/26736, filedon Apr. 8, 2016, which claims the benefit of priority to the U.S.Provisional Application No. 62/245,549, filed Oct. 23, 2015. The entirecontent of each of the aforementioned patent applications isincorporated herein by reference.

TECHNICAL FIELD

Systems and methods for controlling operation of a smoker remotely.

BACKGROUND

Outdoor appliances have long been used to prepare food and perform othertasks. For example, outdoor appliances such as grills and smokers areoften used to prepare meats, vegetables, fruits, and other types offood. These grills and smokers are typically operated using manualcontrols that are integrated into the frame of the grill or smoker. Forexample, many such outdoor appliances have an ignition button that, whenpressed, generates a spark near a gas outlet on a burner. The sparkignites the gas and the burner begins to create heat. The amount of heatis generally controlled using a dial or nob that allows more or less gasto be introduced at the burner.

In some cases, the outdoor appliances may have electronic controls.Thus, instead of having a manual dial to adjust the amount of gas beingintroduced at the burner, an electrical control is set or adjusted bythe user. The electrical control then interacts with a solenoid or otherelectro-mechanical component to regulate the flow of gas to the burner.Still, however, as is the case with manual dials and nobs, the user ofthe outdoor appliance has to be present at the grill to make changes tosettings on the grill.

To overcome this problem, some newly-manufactured outdoor applianceshave been equipped with BLUETOOTH® radios. These BLUETOOTH® radios allowcommunication with nearby electronic devices including cell phones ortablets of the appliance's owner. Range limitations to the BLUETOOTH®radio, however, necessitate that the user of the appliance still bewithin a certain proximity of the appliance. Once outside thisproximity, the user no longer has any communication with the appliance,and thus cannot control any functionality related to the appliance.Moreover, even when connected to a mobile device, the appliance has verylimited options as to what can be controlled over BLUETOOTH®. Indeed,the appliance has no access to any information or control signals beyondthe user's mobile device.

BRIEF SUMMARY

Embodiments described herein are directed to controlling anelectronically-controlled appliance using a software application and toproviding a user interface for controlling an electronically-controlledappliance. In one embodiment, a computer system receives an indicationfrom a remote computing system indicating that anelectronically-controlled appliance is communicably connected to theremote computing system. The computer system provides a notification inthe software application indicating that the electronically-controlledappliance is available to receive instructions, and receives a userinput at the software application indicating that certain functions areto be performed by the electronically-controlled appliance.

The computer system further generates instructions configured to controlthe electronically-controlled appliance based on the functions specifiedin the received user input, and sends the generated instructions to theelectronically-controlled appliance to perform the specified functions.These functions are then interpreted and carried out on theelectronically-controlled appliance via the hardware controller.

In another embodiment, a computer system provides a user interface forcontrolling an electronically-controlled appliance. The user interface(UI) includes the following: a first input field configured to receiveinput indicating whether an electronically-controlled appliance ispermitted to communicate with remote computing systems, a notificationfield configured to indicate whether the electronically-controlledappliance is communicably connected to the remote computing systems, andto further provide notifications indicating that theelectronically-controlled appliance is available to receiveinstructions, and a second input field configured to receive inputindicating that specified functions are to be performed by theelectronically-controlled appliance.

The UI further includes an instruction generating indicator configuredto indicate that instructions configured to control theelectronically-controlled appliance are being generated based on thefunctions specified in the received user input, and a transmissionindicator configured to indicate that the instructions are being sent tothe electronically-controlled appliance for performance of the specifiedfunctions, where the functions are interpreted and carried out by ahardware controller on the electronically-controlled appliance.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

Additional features and advantages will be set forth in the descriptionwhich follows, and in part will be apparent to one of ordinary skill inthe art from the description, or may be learned by the practice of theteachings herein. Features and advantages of embodiments describedherein may be realized and obtained by means of the instruments andcombinations particularly pointed out in the appended claims. Featuresof the embodiments described herein will become more fully apparent fromthe following description and appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

To further clarify the above and other features of the embodimentsdescribed herein, a more particular description will be rendered byreference to the appended drawings. It is appreciated that thesedrawings depict only examples of the embodiments described herein andare therefore not to be considered limiting of its scope. Theembodiments will be described and explained with additional specificityand detail through the use of the accompanying drawings which arebriefly described below.

FIG. 1A illustrates a computer architecture in which embodimentsdescribed herein may operate including controlling anelectronically-controlled appliance using a software application andproviding a user interface for controlling an electronically-controlledappliance.

FIG. 1B illustrates a computer architecture in which embodimentsdescribed herein may operate including smoking food in an outdoor grillusing a customized smoking routine.

FIG. 2 illustrates an embodiment in which an electronically-controlledappliance is in communication with a cloud service and a mobileelectronic device.

FIG. 3 illustrates an embodiment in which an electronically-controlledappliance is in communication with a cloud service and a mobileelectronic device, and is further in communication with analytics,social media or other third party systems.

FIG. 4 illustrates an embodiment of a software application functionalityhierarchy.

FIG. 5 illustrates a flowchart of an example method for controlling anelectronically-controlled appliance using a software application.

FIG. 6 illustrates a user interface for controlling anelectronically-controlled appliance.

DETAILED DESCRIPTION

Embodiments described herein are directed to controlling anelectronically-controlled appliance using a software application and toproviding a user interface for controlling an electronically-controlledappliance. In one embodiment, a computer system receives an indicationfrom a remote computing system indicating that anelectronically-controlled appliance is communicably connected to theremote computing system. The computer system provides a notification inthe software application indicating that the electronically-controlledappliance is available to receive instructions, and receives a userinput at the software application indicating that certain functions areto be performed by the electronically-controlled appliance.

The computer system further generates instructions configured to controlthe electronically-controlled appliance based on the functions specifiedin the received user input, and sends the generated instructions to theelectronically-controlled appliance to perform the specified functions.These functions are then interpreted and carried out on theelectronically-controlled appliance via the hardware controller.

In another embodiment, a computer system provides a user interface forcontrolling an electronically-controlled appliance. The user interface(UI) includes the following: a first input field configured to receiveinput indicating whether an electronically-controlled appliance ispermitted to communicate with remote computing systems, a notificationfield configured to indicate whether the electronically-controlledappliance is communicably connected to the remote computing systems, andto further provide notifications indicating that theelectronically-controlled appliance is available to receiveinstructions, and a second input field configured to receive inputindicating that specified functions are to be performed by theelectronically-controlled appliance.

Embodiments described herein may implement various types of computingsystems. These computing systems are now increasingly taking a widevariety of forms. Computing systems may, for example, be mobile phones,electronic appliances, laptop computers, tablet computers, wearabledevices, desktop computers, mainframes, and the like. As used herein,the term “computing system” includes any device, system, or combinationthereof that includes at least one processor, and a physical andtangible computer-readable memory capable of having thereoncomputer-executable instructions that are executable by the processor. Acomputing system may be distributed over a network environment and mayinclude multiple constituent computing systems.

A computing system typically includes at least one processing unit andmemory. The memory may be physical system memory, which may be volatile,non-volatile, or some combination of the two. The term “memory” may alsobe used herein to refer to non-volatile mass storage such as physicalstorage media or physical storage devices. If the computing system isdistributed, the processing, memory and/or storage capability may bedistributed as well.

As used herein, the term “executable module” or “executable component”can refer to software objects, routines, methods, or similarcomputer-executable instructions that may be executed on the computingsystem. The different components, modules, engines, and servicesdescribed herein may be implemented as objects or processes that executeon the computing system (e.g., as separate threads). As describedherein, a computing system may also contain communication channels thatallow the computing system to communicate with other message processorsover a wired or wireless network. Such communication channels mayinclude hardware-based receivers, transmitters or transceivers, whichare configured to receive data, transmit data or perform both.

Embodiments described herein also include physical computer-readablemedia for carrying or storing computer-executable instructions and/ordata structures. Such computer-readable media can be any availablephysical media that can be accessed by a general-purpose orspecial-purpose computing system.

Computer storage media are physical hardware storage media that storecomputer-executable instructions and/or data structures. Physicalhardware storage media include computer hardware, such as RAM, ROM,EEPROM, solid state drives (“SSDs”), flash memory, phase-change memory(“PCM”), optical disk storage, magnetic disk storage or other magneticstorage devices, or any other hardware storage device(s) which can beused to store program code in the form of computer-executableinstructions or data structures, which can be accessed and executed by ageneral-purpose or special-purpose computing system to implement thedisclosed functionality of the embodiments described herein. The datastructures may include primitive types (e.g., character, double,floating-point), composite types (e.g., array, record, union, etc.),abstract data types (e.g., container, list, set, stack, tree, etc.),hashes, graphs or any other types of data structures.

As used herein, computer-executable instructions comprise instructionsand data which, when executed at one or more processors, cause ageneral-purpose computing system, special-purpose computing system, orspecial-purpose processing device to perform a certain function or groupof functions. Computer-executable instructions may be, for example,binaries, intermediate format instructions such as assembly language, oreven source code.

Those skilled in the art will appreciate that the principles describedherein may be practiced in network computing environments with manytypes of computing system configurations, including, personal computers,desktop computers, laptop computers, message processors, hand-helddevices, multi-processor systems, microprocessor-based or programmableconsumer electronics, network PCs, minicomputers, mainframe computers,mobile telephones, PDAs, tablets, pagers, routers, switches, and thelike. The embodiments herein may also be practiced in distributed systemenvironments where local and remote computing systems, which are linked(either by hardwired data links, wireless data links, or by acombination of hardwired and wireless data links) through a network,both perform tasks. As such, in a distributed system environment, acomputing system may include a plurality of constituent computingsystems. In a distributed system environment, program modules may belocated in both local and remote memory storage devices.

Those skilled in the art will also appreciate that the embodimentsherein may be practiced in a cloud computing environment. Cloudcomputing environments may be distributed, although this is notrequired. When distributed, cloud computing environments may bedistributed internationally within an organization and/or havecomponents possessed across multiple organizations. In this descriptionand the following claims, “cloud computing” is defined as a model forenabling on-demand network access to a shared pool of configurablecomputing resources (e.g., networks, servers, storage, applications, andservices). The definition of “cloud computing” is not limited to any ofthe other numerous advantages that can be obtained from such a modelwhen properly deployed.

Still further, system architectures described herein can include aplurality of independent components that each contribute to thefunctionality of the system as a whole. This modularity allows forincreased flexibility when approaching issues of platform scalabilityand, to this end, provides a variety of advantages. System complexityand growth can be managed more easily through the use of smaller-scaleparts with limited functional scope. Platform fault tolerance isenhanced through the use of these loosely coupled modules. Individualcomponents can be grown incrementally as business needs dictate. Modulardevelopment also translates to decreased time to market for newfunctionality. New functionality can be added or removed withoutimpacting the core system.

Referring to the figures, FIG. 1A illustrates an environment 100 inwhich at least one embodiment described herein may be employed. Theenvironment 100 includes a computer system 101. The computer system 101may be any type of local or distributed computer system, including acloud computer system. The computer system 101 includes a hardwareprocessor 102 and physical system memory 103. The computer system 101further includes modules for performing a variety of differentfunctions.

For instance, the communications module 104 may be configured tocommunicate with other computing systems (e.g., remote computing systems113). The communications module 104 may include any wired or wirelesscommunication means that can receive and/or transmit data to or fromother computing systems such as wired or wireless network interfacecards. The communications module 104 may be configured to interact withdatabases, mobile computing devices (such as mobile phones or tablets),electronically-controlled appliances (e.g., 115), embedded computingsystems or other types of computing systems.

Indeed, in one embodiment, the computer system 101 may be a mobilecomputer system, and may be configured to communicate with remotecomputing systems 113 (e.g., cloud computing systems) and/or withelectronically-controlled appliance 115. The remote computing systems113 may also be able to communicate with the electronically-controlledappliance 115, either directly or through the (mobile) computer system101. The electronically-controlled appliance 115 may be any type ofappliance or device that is electronically-controlled. For example, anydevice that is controlled by an electronic hardware controller 116 wouldbe an electronically-controlled appliance 115. The electronic hardwarecontroller 116 may include computer memory that has instructions storedthereon for controlling the appliance or device.

In one example embodiment, the electronically-controlled appliance 115is a grill or smoking appliance, although the embodiments describedherein are not limited to such. The grill/smoker may be operated by theelectronic hardware controller 116. The controller 116 may be configuredto control temperature, control cooking cycles, control fuel burn rate,monitor ambient temperature, or perform other functions. In some cases,the electronic hardware controller 116 may include or be communicativelyconnected to a radio such as a BLUETOOTH® or Wi-Fi radio that canwirelessly communicate with other computing systems (e.g., 101 and 113).The electronic hardware controller 116 may control these communications,and may present a display 125 b to a user. The display 125 b may includea variety of information, including a graphical user interface (GUI)that allows interaction from an appliance user.

The computer system 101 may be configured to interact with theelectronically-controlled appliance 115 through the communicationsmodule 104. The computer system 101 further includes a softwareapplication instantiating module 105 that instantiates softwareapplication 106 on the computer system. The software application 106 mayinclude a GUI for controlling the electronically-controlled appliance115. The GUI may provide various notifications, alerts, buttons, fields,prompts or other elements that allow monitoring and control of theelectronically-controlled appliance 115.

In one embodiment, the software application 106 provides a notificationof availability 107. The notification of availability 107 may indicatethat the electronically-controlled appliance 115 is available to receivecontrol instructions. These control instructions 109 may include, forexample, an indication that a certain amount of fuel pellets is to beadded to a smoker's combustion area, or that a specified amount of fuel(such as propane) is to be burned by a grill, or that a specifiedinternal temperature is to be reached and maintained. The notificationof availability 107 may indicate whether the electronically-controlledappliance 115 is available or not to receive such control instructions109.

If the notification of availability 107 indicates that theelectronically-controlled appliance 115 is currently available toreceive instructions, the user interface 118 may be displayed so that auser 111 may provide input 112, indicating how the user wants to controlthe appliance. The user interface 118 may provide many differentfunctions 110 that are controllable using the user interface. Asmentioned above, these functions 110 may include substantially anyfunction that the electronically-controlled appliance 115 is capable of(or is modified to be capable of) performing. For grill and smokers,this may include controlling burn rate, temperature, cooking cycle, fueldispensing, controlling timers, accessing recipes, displaying probetemperatures or alerts, turning the device on or off, or otherfunctions.

Other electronically-controlled appliances 115 such as ovens,refrigerators, blenders, toasters, dishwashers, coffee machines, mixers,bread makers, washers and dryers or other appliances may also becontrolled using the software application 106 in a manner that is thesame as or similar to that used to control a grill or smoker. Thesoftware application 106 may provide a notification of availability forthe appliance, and the application may display a user interface forcontrolling functions of that appliance. As the input 112 are receivedfrom the user 111, the instruction generator 108 may generateinstructions that are specific to that device, and that areinterpretable and understandable by the electronically-controlledappliance 115. These control instructions 109 are then sent to theelectronically-controlled appliance 115 to control the functions 110specified by the user 111.

In some cases, a user may control whether the electronically-controlledappliance 115 is permitted to communicate with other computing systemssuch as remote computing systems 113. The electronically-controlledappliance 115 may send an indication 117 to the (mobile) computer system101, indicating that it wishes to communicate with one or more remotecomputing systems 113 (for example, to download a recipe). The user 111may provide input 112 indicating whether the electronically-controlledappliance 115 is permitted to communicate with the remote computingsystems 113 or not. If such communication is permitted by the user, theelectronically-controlled appliance 115 may communicate with an accesspoint (such as a router) that permits flow of data between theelectronically-controlled appliance 115 and the remote computing systems113.

FIG. 1B illustrates an environment 100 b in which at least oneembodiment described herein may be employed. The environment 100 bincludes an outdoor grill 101 b. For example, the outdoor grill 101 bmay comprise an electronically-controlled appliance 115, as describedabove in regard to FIG. 1A. As used herein, the term “outdoor grill”means outdoor cooking apparatus, including barbecue grills, smokers,and/or barbecue smokers. Barbecue smokers, in turn, refers to outdoorcooking apparatus that are configured to cook food at least in partthrough generated smoke, such as smoke generated through woodcombustion. Accordingly, the outdoor grill 101 b illustrated orotherwise described herein may be any type of cooking applianceincluding a conventional barbecue grill, smoker or other device.

In general, the outdoor grill 101 b includes hardware and other modulesfor performing a variety of different functions. For instance, theoutdoor grill 101 b includes an electronic controller 102 b. Theelectronic controller may be any type of microcontroller,microprocessor, or other processing means capable of processing softwarecode. The software code may be stored on computer-readable mediaincluding memory 103 b or other data storage 105 b. The data storage maybe flash or other non-volatile memory. As such, the outdoor grill 101 bmay have sufficient processing power and memory to be considered acomputing system, or at least as having an attached computing system.

FIG. 1B further shows that the outdoor grill 101 b can include acommunications module 104 b. The communications module 104 b may beconfigured to communicate with other computing systems such as mobiledevice 120 b used by user 119 b, or remote computer systems 122 b. Asunderstood herein, a “mobile device” (120 b) means any computing system(including but not limited to a smart phone) that enables a user toprovide remote inputs, selections, and other controls that arecommunicated with outdoor grill 101 b from a remote location. Thecommunication between mobile device and outdoor grill 101 b can occurover a network comprising a combination of wireless and hardwiredconnections. For example, mobile device 120 b may be wirelesslyconnected to a network, or may be connected to the network over anetwork cable, such as a cable employing an Ethernet, USB, or otherappropriate connection interface.

Thus, mobile device 120 b can comprise a mobile phone, a tablet device,or may comprise another form of a remote control display, such as adigital remote control, including a network-enabled tablet-style touchscreen having a graphical user interface displayed thereon. In oneimplementation, for example, mobile device 120 b comprises an LCD screenhaving one or more controls (e.g., touch screen controls or physicalpush-button controls) that are used primarily within an indoorenvironment, and in any event remote from the outdoor grill 101 b.

For example, the mobile device 120 b may comprise a remote screen thatis positioned or mounted on or about a kitchen countertop, but isnevertheless connected over a network (BLUETOOTH®, Wi-Fi, or networkcable) to outdoor grill 101 b and/or remote computer systems 122 b overa network. Specifically, the communications module 104 b may include anywired or wireless communication means that can receive and/or transmitdata to or from other computing systems. The communications module 104 bmay be configured to interact with databases, mobile computing devices(such as mobile phones or tablets), embedded or other types of computingsystems. In some cases, the mobile device 120 b and/or the remotecomputer systems 122 b may be configured to provide inputs to theoutdoor grill 101 b. For instance, the mobile device 120 b may provideinput 121 b to the outdoor grill 101 b, such as by providing a “cookingprofile” for a food item. This input may specify a recipe that is to beused, which in turn may specify a custom smoking pattern (or othertemperature or flavor profile pattern involving operation of multiplecomponents on outdoor grill 101 b) that is to be used when preparing acertain portion of food. These recipes 106 b and custom smoke generationpatterns may be stored in data store 105 b and accessed by theelectronic controller 102 b.

The remote computer systems 122 b may also provide inputs 123 b to theoutdoor grill 101 b. These inputs may likewise be recipes or customgrilling or smoking pattern controls, including fan (on/off, speed orRPM) and/or hopper/auger adjustments, but may also be advertisements orother data pertinent to the grill owner. For example, as will beexplained further below, the remote computer systems 122 b may provideremote diagnostics or analytic information to the grill owner,displayable on a grill 101 b display.

FIG. 1B further shows that the outdoor grill 101 b includes a smokegenerator 108 b. In at least one embodiment, the smoke generator 108 bincludes hardware including a hopper 110 b for loading combustiblepellets 109 b into the combustion area 111 b. In some embodiments, theoutdoor grill 101 b may be a smoker that is fueled by combustiblepellets 109 b (such as wood pellets, or other appropriate combustionprecursor). The hopper 110 b may supply the fuel to the combustion area111 b at a specified rate so as to maintain a specific internaltemperature 113 b. The internal temperature may be measured by aninternal thermometer 112 b that is inside grill 101 b. The determiningmodule 116 b of the smoke generator 108 b may, for example, determinethat the current internal temperature 113 b is too low, and may causethe hopper 110 b to load more pellets/fuel 109 into the combustion area111 b, and/or to adjust a fan or other components to help increasetemperature. Conversely, if the internal temperature is too high, theloading of pellets/fuel into the combustion area 111 b may be halted fora time until the temperature has cooled, and similarly to adjust a fanup/down or on/off to assist in cooling.

At least in some embodiments, the outdoor grill 101 b may be controlledby user 119 b via the mobile device 120 b. The mobile device 120 b maybe configured to run an application that allows the user 119 b tocontrol functionality of the outdoor grill 101 b. Using the softwareapplication, for example, the user 119 b may cause the outdoor grill 101b to ignite and begin a specified “cooking profile” assigned to the fooditem, such as a recipe employing a particular smoking pattern gearedtoward a particular end result in the food item. For instance, the user119 b may direct use of a particular cooking profile for a food item byselecting one of the stored recipes 106 b or smoke generation patterns107 b stored on the grill's data store 105 b, wherein the selectedrecipes 106 b comprise one or more flavor, smoke, temperature or othercooking profile features for a particular food item.

Thus, the “cooking profile” in at least one embodiment comprises a setof values contained in one or more files associated with a food item,such as files contained in a downloadable recipe (from remote computersystems 122 b), which are intended to produce a particular end result inthe food item. For example, a cooking profile for a particular type ofbeef may include specifications that the final product be “medium rare,”or reddish pink in terms of internal color, and/or may specify aninternal temperature for the food item, such as 135° F. (57° C.). Thecooking profile may alternatively indicate that the meat needs to betender enough to shred, or contain a certain amount of smoke flavor inthe meat.

Each of these end results may be driven in part by a downloaded recipe,or by manual inputs by a user at grill 101 b or via mobile device 120 b.The recipe may include such values as cooking time, amount of smokeapplied and when, internal grill temperature, and so on. The cookingprofile, in at least one implementation, may be used to adjust certainrecipe steps in accordance with other variables that occur during acooking cycle to ensure the overall end result. In general, therefore, acooking profile can be understood as overall characteristics of a fooditem based on an intended end result for the particular food item,whereas a “recipe” refers to the generally modifiable steps used toachieve the end result.

Accordingly, embodiments of the present invention provide a grill systemthat enables the user to automatically control various aspects of acooking process for different performance levels. In particular,embodiments of the present invention enable a user to automatically ormanually monitor and adjust a grill temperature, to change or start atimer, to adjust a smoking pattern, to set the grill to a “keep warm,”or to adjust other state, or to perform other controls specificallygeared toward a particular flavor or other desired end result.

Embodiments of the present invention allow the user to be as involved oruninvolved as desired, and to handle grilling procedures from a remotelocation. In particular, embodiments of the present invention enable auser to have part or full control over cooking a food item, and thusoperation of multiple components of the outdoor grill in generalaccordance with multiple user preferences to whatever extent the userdesires to be involved in controlling the operation or outcome, andregardless whether the user is away on travel, or at home in a livingroom.

FIG. 2 illustrates an embodiment in which a smoker 202 is controlled viaa smart phone 203 (or rather via a software application running on thesmart phone). The smart phone 203 may communicate with a cloud service201 which, in turn, communicates with the smoker 202. The cloud service201 may provide data storage along with other features. The data storagemay store, for example, recipes used by the smoker 202 to smoke meats,vegetables, fruits or other food items. Using the cloud service 201, acustomer or user may use their smart phone 203, tablet, laptop, desktopor other computer system to control the functions of the smoker 202.

The functionality may include smoker/grill monitoring includingmonitoring of the internal temperature, external ambient airtemperature, probe temperature (e.g., from probes that communicatewirelessly), and alerts that may be raised by the grill or smoker. Othercontrols may include adjusting the temperature by adding more fuel, orallowing the existing fuel (such as pellets) to burn down so as toreduce the temperature, turning the device on or off or turning certaincomponents on or off, controlling the timer or custom cooking cycles, ormonitoring probe temperature alerts. Many more controls may be providedon the smart phone 203, and the amount and type of controls may beupdated over time to add new functionality.

As control inputs are received at the smart phone 203 (or otherelectronic device), they are passed to the cloud service 201 via a wiredor wireless data transmission. The control inputs are then passed to thesmoker 202 directly or via an access point such as a Wi-Fi router. Inthis manner, a user may be able to control their smoker/grill fromsubstantially any location that has internet access. In some cases, theuser may even be able to ignite the smoker 202 remotely, while in othercases, such functionality may be disabled unless the user is within aspecified distance of the grill, as determined by a GPS or BLUETOOTH®geofence.

FIG. 3 illustrates an environment similar to that of FIG. 2 in which acloud service 301 links various devices including a smoker/grill 302 anda smart phone 303 or other electronic computing device 304. The cloudservice 301 is also connected to various other services and systemsincluding, but not limited to, data analytics, third party advertising,remote diagnostic services, eCommerce services, social media, customerservice assistance and others. For example, usage data for thesmoker/grill 302 may be uploaded to the cloud service 301 and stored inthe global data storage.

This usage data (such as when the smoker was turned on, how long was itturned on, what temperature did it reach, what was the average internaltemperature, what was the average external temperature, whatcooking/smoking recipe was used, what controls were used and when orother operational usage data) may be analyzed by an analytics engine incombination with data from other users. As such, usage data from manydifferent users may be logged and analyzed to identify broad patterns ofuse. These analytics may then be used to refine and improve futuresmokers or grills, or may be used for other purposes such as providingadvertising.

In one example, the cloud service may track users' usage of thesmoker/grill and may determine which products or recipes may be ofinterest to a given user based on similarities between their usage ofthe grill and other's usage. The usage data may also be used to performremote diagnostics of the smoker/grill 302. For instance, the usage datamay indicate that a user's grill temperature exceeded a normal operatingtemperature (e.g., due to a grease fire). As such, certain parts mayhave failed or may be likely to fail due to the extreme heat. Otherusage data may indicate different problems that may be likely to occuras a result of how the user is using their grill. Usage data may also besent to social media announcing successful implementation of a recipe,or announcing to party guests that a specified meat is smoking and willbe ready at a certain time. Many other social media implementations mayalso be used as provided by the cloud service 301.

FIG. 4 illustrates an application workflow 400 for a softwareapplication such as software application 106 of FIG. 1. The applicationmay run on a mobile device such as a phone or tablet or wearable device,or may be run on a desktop computing system or may be run through a webbrowser. It will be understood that the application workflow 400 is oneexample of an application workflow, and other embodiments andimplementations are possible.

The application workflow 400 includes a home menu 401 that, on launch,shows the status of the grill (or other electronically-controlledappliance), the status of any probes in use, the status of any timers inuse and any alerts. A first-time setup may walk a user throughconnecting the grill to an access point (such as a Wi-Fi access point),and linking the mobile device to the grill. The first-time setup mayalso take the user through a tutorial on how to use the grill, or atleast certain components of the grill. The home menu 401 may show any orall of the following: grill temperature, probe temperature, timer (ifrunning), active alerts (e.g., a low pellet alert or an empty hopperalert), current cook cycle, current cook time-to-completion, startupdelay time, or other information.

The application may have many different tabs and menus, including one ormore of the following: a control menu 402 that allows users to controlthe grill's target temperature, control the grill's target probetemperatures, set or restart timers, set startup delays, remotely startor turn grill off, set alerts or perform other functionality. A cookcycles menu 403 may be provided which allows users to select fromdifferent cooking cycles (i.e., pre-programmed cooking routines thatcontrol temperature for a specified amount of time to cook or smoke thefood item in a certain manner), save cooking cycles, upload cookingcycles to a cloud service (e.g., 301 of FIG. 3), provide the user aplay-by-play indicator of what is occurring during a cooking cycle,implement a certain cook cycle for a given food, browse and downloadrecipes and/or cook cycles, provide access to a food warming cycle thatkeeps the food at a certain temperature for a specified time, or performother functions.

The cook cycles menu 403 may have one or more submenus including a cookcycle creation menu 409. The cook cycle creation menu 409 may allow auser to create his or her own custom cooking cycle. The custom cookingcycle can specify a given time to begin and end, a certain temperatureto hold or change to throughout the cycle, various customizable triggersor conditions that may cause changes to the cooking cycle such asshortening or lengthening the cooking time, or increasing or decreasinginternal grill temperature for a given length of time. The cook cyclecreation menu 409 may allow a user to push the customized cooking cycleto the grill and have the grill begin implementation of the cycle. Thiscustomized cooking cycle may also be saved directly on the grill or inthe cloud service 301.

Other menus provided on the application workflow may include a settingsmenu 404. The settings menu may allow a user to set up Wi-Fi, BLUETOOTH®or communication means on the grill. The settings menu 404 may alsoallow configuration settings to be accessed and changed. The settingsmenu 404 may further provide tutorial as well as other appliance- orapplication-specific settings that may be changed using the settingsmenu. A map menu 405 or tab may be provided which gives access to localretailers including pellet sellers or distributors, local butchers orfarms for meat or vegetables, local events including barbeques ortailgate parties, or locations of nearby grill distributors. The mapmenu 405 may also provide other information that is specific to theappliance, such as a repair shop that specializes in repairs for thatappliance.

A social media menu 406 may be provided which allows users to uploadphotos, recipes, videos or other media which may be of interest to otherusers. The social media tab may allow the user to post images or statusupdates to social media websites, including location pins, updates fromthe grill itself or other information. As such, the social media menu406 allows users to share their grilling/smoking experience with others.

A recipes menu 407 allows users to browse recipes available online orthrough the cloud service 301. When browsing these recipes, the user mayselect to download the recipes to their phone or other device. Theserecipes can be collected in a library and shared via social media. Userscan sort the recipes, add their own recipes, add pictures to others'recipes or otherwise interact with the recipe database. A store menu 408allows a user to purchase pellets, propane or other fuel, purchasesauces, rubs, grill accessories, grill parts or full grills/smokers. Thestore may be expanded to allow the purchase of food items or other itemsthat may be used in conjunction with the grill. The concepts describedabove will be explained further below with regard to method 500 of FIG.5.

In view of the systems and architectures described above, methodologiesthat may be implemented in accordance with the disclosed subject matterwill be better appreciated with reference to the flow chart of FIG. 5.For purposes of simplicity of explanation, the methodologies are shownand described as a series of blocks. However, it should be understoodand appreciated that the claimed subject matter is not limited by theorder of the blocks, as some blocks may occur in different orders and/orconcurrently with other blocks from what is depicted and describedherein. Moreover, not all illustrated blocks may be required toimplement the methodologies described hereinafter.

FIG. 5 illustrates a flowchart of a method 500 for controlling anelectronically-controlled appliance using a software application. Themethod 500 will now be described with frequent reference to thecomponents and data of environment 100 of FIG. 1.

In some embodiments, method 500 may begin with the act of receiving aninitiation input that indicates that the software application is to beinstantiated on a mobile device (510) and instantiating the softwareapplication on the mobile device (520). For example, a user 111 mayprovide input 112 at the (mobile) computer system 101 indicating thatsoftware application 106 is to be instantiated. The software applicationmay be implemented to control functionality of theelectronically-controlled appliance 115. Once such an input is received,the computer system 101 may instantiate the software application, makingit available for use by the user 111.

Method 500 may further include receiving an indication at the softwareapplication indicating that the electronically-controlled appliance isattempting to communicate with one or more remote computing systems(530) and further receiving a user input at the software applicationindicating that the electronically-controlled appliance is permitted tocommunicate with the one or more remote computing systems (540). Forinstance, computer system 101 may receive indication 114 from remotecomputing systems 113 (e.g., from a cloud service) indicating that theelectronically-controlled appliance 115 is attempting to communicatewith them. The communication attempt may be for the purposes ofdownloading a recipe, for example. The software application 106 mayprovide a notification to the user indicating that theelectronically-controlled appliance 115 is attempting communication withthe remote computing systems 113. The user 111 may then indicate whethersuch communication is permissible or not.

If so, then the electronically-controlled appliance, which iscommunicably connected to the remote computing systems 113 via a wiredor wireless connection (such as through an access point) may begincommunication with the remote computing systems. This permission may bevalid for a given session, for a given period of time, or for a givenpurpose (e.g., downloading a recipe). Method 500 next includes receivingan indication from one or more remote computing systems indicating thatthe electronically-controlled appliance is communicably connected to theone or more remote computing systems (550).

One or more of the remote computing systems 113 may send an indication114 to the computer system 101 indicating that theelectronically-controlled appliance 115 communicably connected to theremote systems, after which the software application 106 may provide anotification of availability 107 indicating that theelectronically-controlled appliance is available to receive instructions(560). In some cases, the notification of availability 107 may becolor-coded to indicate at a glance whether theelectronically-controlled appliance 115 is available to receiveinstructions. For instance, if it is available, the notification ofavailability 107 may be illustrated in green, while if theelectronically-controlled appliance 115 is not available, thenotification of availability 107 may be illustrated in red or in someother manner that clearly indicates the communication status.

Method 500 further includes receiving a user input at the softwareapplication indicating that one or more specified functions are to beperformed by the electronically-controlled appliance (570). For example,user 111 may provide user input 112 that specifies various functions 110that are to be performed by the electronically-controlled appliance 115.The inputs may specify new instructions to the electronically-controlledappliance 115, or changes to existing instructions.

The user's input 112 may cause the instruction generator 108 of thesoftware application 106 to generate one or more control instructions109 configured to control the electronically-controlled appliance basedon the functions 110 specified in the received user input (580). Thesecontrol instructions 109 are then sent to the electronically-controlledappliance 115 to perform the functions. The electronic hardwarecontroller 116 of the electronically-controlled appliance 115 theninterprets and carries out the specified functions (590).

The software application 106 may be configured to display a userinterface 118 that prompts the user 111 to provide demographicinformation such as name, age, address, gender, grilling preferences,grill serial number and/or other similar information. This demographicinformation may then be sent to a cloud platform (e.g., cloud service301 of FIG. 3) configured to register the electronically-controlledappliance to an account associated with the user. The account may storethe user's information, appliances that are registered to the account,recipes associated with the user (e.g., recipes the user has uploaded,downloaded or “liked”), or other information associated with the user.

The software application 106 may be configured to receive informationfrom the one or more remote computing systems 113 and may be incontinuous or continual communication with such systems. The receivedinformation may include data regarding the electronically-controlledappliance. This information associated with theelectronically-controlled appliance 115 may include usage information,analytics data, remote diagnostic information or other types of data.The data may be displayed in the user interface 118. The user interface118 allows functions of the electronically-controlled appliance 115 tobe monitored by a user and/or controlled by a user. Indeed, the user canuse various buttons or input fields of the user interface to controlfunctionality or establish monitors on the electronically-controlledappliance 115.

In some cases, for example, the user interface 118 of the softwareapplication 106 allows recipes to be downloaded onto the computer system101 and then provided to the electronically-controlled appliance 115.The user interface 118 may additionally or alternatively provide alertsfor timers, probes or temperature, or may allow the user to program ormake changes to a custom smoking/cooking cycle. The custom cooking cyclemay specify, for example, that a meat is to be smoked at a certaintemperature (e.g., low) for nine hours, then at a different temperature(e.g., high) for two hours, and then kept warm until served. Manydifferent cooking or smoking cycles may be established and stored on thegrill/smoker itself, or on the cloud service.

A user (e.g., 111) may send a customized smoking cycle to theelectronically-controlled appliance 115 from anywhere in the world wherethe user has an internet connection. The electronically-controlledappliance 115 may receive the customized smoking cycle and begininitiating it by igniting the smoker and adding wood pellets from thehopper to the combustion area. The electronic hardware controller 116 onthe electronically-controlled appliance 115 may receive the customsmoking cycle, interpret its associated instructions, and carry them outby activating an ignition switch or solenoid, by activating the hopper,or by performing other functions as necessary to carry out thecustomized smoking cycle.

The software application may provide a user interface 118 feature thatallows the user 111 to save the customized smoking cycle to a data storeon the remote computing systems 113, to the electronically-controlledappliance 115 or to data storage on the (mobile) computer system 101.The user interface 118 may further provide a feature that allows a userto initiate a recipe on the electronically-controlled appliance. Therecipe may include a custom smoking/grilling cycle or may use apre-programmed cooking cycle. The recipe may include specifiedsmoking/grilling settings that are to be carried out by theelectronically-controlled appliance 115 when preparing food according tothat recipe.

The software application 106 facilitates communication between theremote computing systems 113 and the electronically-controlled appliance115. The software application 106 transmits data packets to and receivesdata packets from the remote computing systems 113, and furthertransmits data packets to and receives data packets from theelectronically-controlled appliance. The software application 106 thusenables communication between, for example, an internet site and agrill/smoker. A user using the application can select a chicken recipeon the application, and the application will communicate with the grillto run the correct cooking program. As such, the user 111 can controltheir electronically-controlled appliance 115 from anywhere in theworld, and can allow that appliance to access internet- orcloud-provided functions directly, such as downloading or uploadingrecipes or custom cooking cycles.

In one embodiment, a computer program product is provided which includesone or more computer storage media having thereon computer-executableinstructions that, when executed by one or more processors of thecomputing system, cause the computing system to instantiate a userinterface. One embodiment of this user interface is shown in FIG. 6.

A mobile computing device 601 such as a smart phone, tablet, laptop orwearable device may be configured to run software application 602 (whichmay be the same as or different than software application 106 of FIG.1A). The software application 602 may include user interface 603. Theuser interface may include a first input field 604 that is configured toreceive input indicating whether an electronically-controlled appliance(e.g., 115 of FIG. 1A) is permitted to communicate with one or moreremote computing systems (e.g., 113). The first input field 604 mayprompt the user to provide an indication whether they allow theelectronically-controlled appliance 115 to communicate with the remotecomputing systems 113 (“Yes” 605) or not (“No” 606).

The user interface 603 of software application 602 may further include anotification field 607 configured to indicate whether theelectronically-controlled appliance 115 is communicably connected to theone or more remote computing systems 113 (e.g., in connection statusfield 608). The user interface 603 may further provide notificationsindicating that the electronically-controlled appliance 115 is availableto receive instructions (e.g., in input status field 609). Theinstructions may come from user input at the mobile computing device 601or may come from the remote computing systems 113.

The user interface 603 may also include a second input field 610configured to receive input indicating that one or more specifiedfunctions (e.g., 611A, 611B, custom function 611C, etc.) are to beperformed by the electronically-controlled appliance 115. The functionsmay include temperature monitoring and control, gas burn rate, hoppercontrol for feeding pellets into the combustion area, timer control, orother functions. The user interface 603 may further provide aninstruction generating indicator 612 configured to indicate that controlinstructions configured to control the electronically-controlledappliance 115 are being generated based on the functions (e.g., 611A)specified in the received user input. A transmission indicator 613 mayindicate that the instructions are being sent to theelectronically-controlled appliance 115 for performance of the specifiedfunctions. These functions are interpreted and carried out by theelectronic hardware controller 116 on the electronically-controlledappliance.

The user interface 603 may also provide real-time additions or changesto custom cook cycles on the electronically-controlled appliance. Assuch, once a user has initiated a cooking/smoking cycle, the user mayupdate that cooking cycle throughout the process and customize each partof the cooking if desired using the software application 602. In somecases, the software application 602 may receive temperature updates froma wireless cooking instrument (such as a wireless digital probe)implemented in conjunction with the electronically-controlled appliance.The user interface 603 may display these updates or alerts and mayrequest the user to perform an action such as turning the smoker to akeep warm state so as not to overcook the food.

Accordingly, methods, systems and computer program products are providedwhich control an electronically-controlled appliance using a softwareapplication. Moreover, methods, systems and computer program productsare provided which provide a user interface for controlling anelectronically-controlled appliance.

The concepts and features described herein may be embodied in otherspecific forms without departing from their spirit or descriptivecharacteristics. The described embodiments are to be considered in allrespects only as illustrative and not restrictive. The scope of thedisclosure is, therefore, indicated by the appended claims rather thanby the foregoing description. All changes which come within the meaningand range of equivalency of the claims are to be embraced within theirscope.

What is claimed is:
 1. A smoker, comprising: a hopper; a combustionarea, wherein the hopper is configured to provide combustible pellets tothe combustion area; and a controller comprising: at least oneprocessor; and at least one non-transitory computer-readable storagemedium storing instructions thereon that, when executed by the at leastone processor, cause the smoker to: receive configuration informationfrom a remote device to establish network communication with one or moreremote computing systems; establish network communication with the oneor more remote computing systems; receive one or more communicationsfrom the one or more remote computing systems, the one or morecommunications containing control information originating from theremote device; and responsive to receiving the one or morecommunications, adjust at least one cooking characteristic of the smokerbased at least in part on the control information.
 2. The smoker ofclaim 1, further comprising instructions that, when executed by the atleast one processor, cause the controller of the smoker to: monitorusage of the smoker; and transmit usage data representative of themonitored usage to the one or more remote computing systems.
 3. Thesmoker of claim 1, further comprising instructions that, when executedby the at least one processor, cause the controller of the smoker to, inresponse to receiving one or more communications to perform a customcooking cycle from the one or more remote computing systems, initiatethe custom cooking cycle.
 4. The smoker of claim 1, further comprisinginstructions that, when executed by the at least one processor, causethe controller of the smoker to: in response to receiving one or morecommunications to perform a user-selected recipe from the one or moreremote computing systems, initiate a cooking cycle associated with theuser-selected recipe; and adjust an amount of wood pellets to bedelivered to the combustion area of the smoker to initiate the cookingcycle associated with the user-selected recipe.
 5. The smoker of claim1, further comprising instructions that, when executed by the at leastone processor, cause the controller of the smoker to further adjust anamount of pellets to be delivered to the combustion area of the smokerbased on one or more of a time interval identified in a user-selectedrecipe or temperature data received from a temperature probe of thesmoker.
 6. The smoker of claim 1, further comprising instructions that,when executed by the at least one processor, cause the smoker tocommunicate directly with the one or more remote computing systems viaan access point within range of the smoker.
 7. A cloud computing systemfor communicating with and controlling operation of a smoker comprisinga hopper configured to provide combustible pellets into a combustionarea of the smoker, the cloud computing system comprising: at least oneprocessor; and at least one non-transitory computer-readable storagemedium storing instructions thereon that, when executed by the at leastone processor, cause the cloud computing system to: establish a networkcommunication with the smoker after the smoker has been authorized tocommunicate with the cloud computing system; receive, from a remotedevice, one or more communications containing control information forcontrolling an operation of the smoker; and transmit the controlinformation to the smoker.
 8. The cloud computing system of claim 7,further comprising instructions that, when executed by the at least oneprocessor, cause the cloud computing system to: responsive to receivingthe one or more communications, determine a location of the remotedevice relative to the smoker; responsive to determining that thelocation of the remote device is within a certain distance of thesmoker, enable the control information to be transmitted to the smoker;and responsive to determining that the location of the remote device isoutside of the certain distance of the smoker, either prevent thecontrol information from being transmitted to the smoker or modify thecontrol information prior to transmitting the control information to thesmoker.
 9. The cloud computing system of claim 8, wherein the receivedcontrol information relates to igniting the smoker.
 10. The cloudcomputing system of claim 8, wherein determining a location of theremote device relative to the smoker comprises determining the locationof the remote device based on a determined global positioning system(GPS) location of the remote device.
 11. The cloud computing system ofclaim 8, wherein determining a location of the remote device relative tothe smoker comprises determining the location of the remote device basedon a BLUETOOTH® geo-fence.
 12. The cloud computing system of claim 7,further comprising instructions that, when executed by the at least oneprocessor, cause the cloud computing system to receive usage data fromthe smoker.
 13. The cloud computing system of claim 12, furthercomprising instructions that, when executed by the at least oneprocessor, cause the cloud computing system to: analyze the usage datareceived from the smoker; and generate one or more smoker-relatedanalytics for the smoker.
 14. The cloud computing system of claim 7,further comprising instructions that, when executed by the at least oneprocessor, cause the cloud computing system to transmit the controlinformation to the smoker to cause additional pellets to be providedinto the combustion area.
 15. The cloud computing system of claim 7,further comprising instructions that, when executed by the at least oneprocessor, cause the cloud computing system to perform remotediagnostics on the smoker.
 16. The cloud computing system of claim 7,further comprising instructions that, when executed by the at least oneprocessor, cause the cloud computing system to predict problems for oneor more components of the smoker.
 17. A method for controlling a smokerusing a software application on a remote device, the smoker comprisingat least one hardware controller and a hopper for providing combustiblepellets into a combustion area of the smoker, the method comprising:providing, via the remote device, configuration information for thesmoker to establish network communication with the one or more remotecomputing systems; and transmitting a communication to the smoker, thecommunication containing the configuration information for the smoker toestablish network communication with the one or more remote computingsystems.
 18. The method of claim 17, further comprising initiating asoftware application on the remote device the software applicationassociated with the smoker.
 19. The method of claim 17, wherein the oneor more remote computing systems comprises a cloud computing platform.20. The method of claim 17, wherein the one or more remote computingsystems comprises one or more of a data analytics system, a third-partyadvertisement system, a remote diagnostic system, an eCommerce service,a social media network, or a customer service system.